<template>
  <div class="top">
    <div class="left">
      <!-- span:行内元素,默认不会独占一行 -->
      <span class="lbtn" @click="goHome">首页</span>
    </div>
    <div class="center">
      <div class="title">智慧旅游可视化大数据平台</div>
    </div>
    <div class="right">
      <span class="rbtn">统计报告</span>
      <span class="time">当前时间:{{ time }}</span>
    </div>
  </div>
</template>

<script setup lang="ts">
import moment from 'moment'
//点击首页按钮回到首页
import { useRouter } from 'vue-router'
import { ref, onMounted, onBeforeUnmount } from 'vue'

// 路由对象
let $router = useRouter()

// 当前时间（初始化为当前时间）
let time = ref(moment().format('YYYY年MM月DD日 hh:mm:ss'))
// 保存 setInterval 的定时器 ID
let timer = ref(0)

// 点击首页按钮 → 跳转到 /home
const goHome = () => {
  $router.push('/home')
}

// onMounted / onBeforeUnmount → 生命周期钩子，分别用于启动和清理定时器
// 组件挂载时启动定时器，每秒更新时间
onMounted(() => {
  timer.value = setInterval(() => {
    time.value = moment().format('YYYY年MM月DD日 hh:mm:ss')
  }, 1000)
})

// 组件卸载时清除定时器（避免内存泄漏）
onBeforeUnmount(() => {
  clearInterval(timer.value)
})
</script>

<style scoped lang="scss">
.top {
  width: 100%; // 整体用 flex 布局，左右三部分排成一行
  height: 40px;
  display: flex;

  .left {
    flex: 1.5; // 占整个 flex 容器的 1.5 份宽度
    background: url(../../images/dataScreen-header-left-bg.png) no-repeat;
    background-size: cover; // 保持图片原始比例，把图片放大/缩小到 刚好能覆盖整个容器

    .lbtn {
      width: 150px;
      height: 40px;
      float: right; // 右对齐
      background: url(../../images/dataScreen-header-btn-bg-l.png) no-repeat;
      background-size: 100% 100%; // 强制把背景图拉伸到 容器的宽度 = 100%，高度 = 100%。
      text-align: center;
      line-height: 40px;
      color: #29fcff;
      font-size: 20px;
    }
  }

  .center {
    flex: 2; // 中间部分比左右大一点

    .title {
      width: 100%;
      height: 74px;
      background: url(../../images/dataScreen-header-center-bg.png) no-repeat;
      background-size: 100% 100%;
      text-align: center;
      line-height: 74px;
      color: #29fcff;
      font-size: 30px;
    }
  }

  .right {
    flex: 1.5;
    background: url(../../images/dataScreen-header-right-bg.png) no-repeat;
    background-size: cover;
    display: flex;
    justify-content: space-between; // 横向两端对齐（按钮在左，时间在右）
    align-items: center; // 纵向居中

    .rbtn {
      width: 150px;
      height: 40px;
      background: url(../../images/dataScreen-header-btn-bg-r.png) no-repeat;
      background-size: 100% 100%;
      text-align: center;
      line-height: 40px;
      color: #29fcff;
    }

    .time {
      color: #29fcff;
      font-size: 20px;
    }
  }
}
</style>
